home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PASSWORD.ZIP / PASSWDRM.TXT < prev   
Text File  |  1996-07-08  |  11KB  |  199 lines

  1.  
  2. 5/26/89
  3.  
  4.                      Megaton Man Teaches Cracking
  5.                      ============================
  6.  
  7.  
  8.                          DOC CHECK PROTECTION
  9.  
  10.  
  11.  
  12. Hello all you young and ameatur crackers! Today's lessons is on DOC Checks.
  13. Doc Checks are pretty easy once you get to know them. But some are a pain
  14. in the ass, like that Sub 688 game. But still, if you have a good working
  15. knowledge of 8088 assembly, it shouldn't really be a problem. I myself,
  16. only a 17 year old cheese high school boy, learned this facinating art form
  17. of cracking. I see cracking as a game within a game. The first being the
  18. actual game, the second is the Protection.
  19.  
  20. Ok, here we go. Get your Cracking tools out. They should consist of a good
  21. Debugger of your choice. My choice is Microsoft's CodeView. Pretty easy to
  22. use and it's been working so far. But most of the major crackers seem to use
  23. Dos's DEBUG.COM. Which is found on your dos disk. They use this primitive but
  24. powerful tool because its so small in size, and wont bother with a game in
  25. memory. But i found CodeView lets you CTRL-BRK out of programs easier. Your
  26. next tool is NORTON UTILITIES. This program should be at your side all the
  27. time. You should have Norton and your Debug program in the PATH always because
  28. you will use it alot.
  29.  
  30. Well, in this little package, you should find a file named DOC1.COM. This file
  31. is an assembly language file i made which simulates a DOC check. It'll give
  32. you some phony message like - "ENTER PASSWORD:". then you must enter the
  33. password inorder for the Program to tell you that you cracked it. The password
  34. for DOC1.COM is  MEGATON MAN. Yea, i'm an egotistic asshole. but i love it.
  35. This is your game plan. First trace the program until the program waits for
  36. the input prompt. At that point, enter "KOOK" or anything at the prompt.
  37. Anything except MEGATON MAN. Then keep tracing the program till it eats
  38. shit (terminates). Try to memorize what path the program took and if you cant
  39. memorize, pen and paper always works. Now, restart the program and trace
  40. the program until the input prompt asks you for the password. Now instead of
  41. typeing the wrong password, type in MEGATON MAN, which is the correct pass-
  42. word. Now keep tracing the program and try again to memorize the path. Ok.
  43. The first part is over. Now, compare the two paths, and find out where a
  44. detour was made. Once you find the detour, just force the program to go the
  45. correct way. Are you saying, "How do i force the program?". Well find the
  46. Detour first.. and when you do continue on reading... So stop reading and
  47. try to crack  DOC1.COM.
  48.  
  49. Now that you are continuing reading, i suspect that you did find the Detour,
  50. or your Stumped. Well it doesnt matter, just keep reading.
  51.  
  52. Ok, This is the "map" of this little program.
  53.  
  54.          XXXX:0100    Jmp  1E8
  55.              :
  56.              :
  57.          XXXX:01E8    CALL  1F7    <--- Print Message and Ask for Password
  58.          XXXX:01EB    OR    AX,AX  <--- Is the AX register = 0?
  59.          XXXX:01ED    JNZ   1F2    <--- No. then jump to 1F2
  60.          XXXX:01EF    CALL  225    <--- This is DEATH!
  61.          XXXX:01F2    CALL  21C    <--- Call if its CRACKED!
  62.  
  63. ok, this is the main part your worried about. Line 100, makes a jump to line
  64. 1E8. Now, 1E8 is CALL 1F7. what this CALL does, is, it Displays the intro
  65. message and asks you to input the Password. Now before executing this CALL
  66. statement on 1E8, take a look at the AX register. Write it down. Now,
  67. EXECUTE the entire Call. Use a BOGUS password. Take a look at the AX register
  68. after the call. The IP register should be on 1E8. What does the AX register
  69. contain? All 0000's? or 0001? Well Most Protections are like this! Even
  70. INT 13 protections! This is what's happening. When you execute the CALL 1F7,
  71. if you typed in the wrong password, the call will return with AX = 0000. If
  72. you typed in the correct password, the AX register will contain 0001. Pretty
  73. neat eh? Well, look at line 1EB. It is OR AX,AX. now this is pretty much like
  74. the CMP AX,0000 instruction. By using the OR AX,AX it saves memory (sorta),
  75. and is supposed to be faster than CMP AX,0000. Dont ask me why its like this,
  76. its just one of those Professional Programmers rules or somthing. Now to
  77. keep things going, Line 1EB checks to see if AX is equal to Zero.  If AX is
  78. equal to zero, the ZERO FLAG is set. if not, then the ZERo flag is cleared.
  79. Look at line 1ED. It is JNZ 1F2. It says, Jump if Not Zero to line 1F2.
  80. See, AX will not equal zero if you entered the correct password. So if you
  81. entered the wrong password, the IP register will go down to line 1EF, which
  82. contains CALL 225, which is the Eat it and Die call! You dont want this!
  83. NEVER! If the correct Password was entered, line 1ED will jump down to line
  84. 1F2 which will execute a Call to tell you that you cracked the program. Now
  85. how could we change the program to make it so it will always jump to the
  86. correct line? well, there are a few different wayz we could do this. One ,is
  87. the EASY way, but less professional way. The next way is also an easy way,
  88. but also not as professional. And the last way is the harder way, and it is
  89. the professional way.
  90.  
  91. Lets first try the second easy way. Because if i told you the easiest way
  92. first, your screw the program up! ok. Have you heard of the instruction
  93. NOP? Which means NO Operation. Yea, it doesnt do anything! just sorta
  94. patches up some instruction. Now if we NOP line 1EF (CALL 225), the program
  95. will encounter a NOP and keep continuing until the Call we want is reached,
  96. which is line 1F2 (call 21C). The Hex value for NOP is 90. So Disassemble
  97. the area we need to change and write down the bytes on, and around the area.
  98. Now flip out Norton Utilities and search for these bytes. Once found, do not
  99. Display them and change them! Continue with the search. Make sure there are
  100. no more discoveries. If you found another match, go back to the program,
  101. disassemble it and write down some more bytes around , and on the part you
  102. want fixed. Go back and search for these bytes. make sure there is only one
  103. occurance. ok, So there is one occurance, go find the bytes that you need
  104. changed. Once found, replace them with the hex value 90. Save your changes
  105. and bail out of Norton Utilites. Now Run DOC1.COM and type a wrong pasword.
  106. The program should tell you that its Cracked no matter what you type! if
  107. it told you that it was cracked, well you Cracked it! yea!
  108.  
  109. The file DOC1.COM is cracked. Go to your MASTER DISK and copy the file on
  110. the MASTER DISK over to your SCREW AROUND DISK. which will get rid of the
  111. newly cracked DOC1.COM.
  112.  
  113. Now that you have the DOC1.COM that is NOT cracked, lets begin the second
  114. way to crack the same program. Some DOC Check PROTECTORS are sorta lame
  115. and lazy. Remember i told you the password was MEGATON MAN? Well, when you
  116. purchase a game from EggHead or any other software place, and a DOC Protection
  117. accompanies the disk, there is always the DOC's that you need! well lets
  118. say for instance that you bought Silpheed. It's a DOC check type thingy. Well
  119. lets say one of the passwords was SIERRA. Pull out Norton Utilites and search
  120. for the characters S I E R R A.  Norton should beep and show you where the
  121. word SIERRA was found. Now look around that area and see if there are any
  122. other words or letters around SIERRA. If so, read them. Now look in your Book
  123. of DOC's and see if a word on the screen matches a PASSWORD in the book.
  124. Yes? if so, BINGO, you found the password list. Now you could change the
  125. passwords to anything you want. But take note, a delimiter is usually put
  126. at the end of each password. Now whats a delimiter you say? its like a
  127. character or HEX value thats at the end of each password. For instance a
  128. hex value of 00 may be at the end of each password. Or each password is
  129. 8 characters long. Or somthing like that. Well, change them to what you
  130. please. I did this when i Cracked Silpheed. Kinda weak eh? well who cares.
  131. Now i dont really call this method "Cracking". Its more like hacking.
  132. But to prove to my self, i cracked it the next day. not hacking.
  133.  
  134. The file DOC1.COM is cracked. Go to your MASTER DISK and copy the file on
  135. the MASTER DISK over to your SCREW AROUND DISK. which will get rid of the
  136. newly cracked DOC1.COM.
  137.  
  138. OK, we cracked DOC1.COM two differnt wayz. Now the third way, which is the
  139. best. This method will totally eliminate the DOC check. Which means, NO
  140. SIGN of PROTECTION can be detected! Which means, you gotta remove the part
  141. where it ask for the password. Now take a look at the Listing. Ill copy the
  142. listing down here so you dont have to switch your face back and forth.
  143.  
  144.          XXXX:0100    Jmp  1E8
  145.              :
  146.              :
  147.          XXXX:01E8    CALL  1F7    <--- Print Message and Ask for Password
  148.          XXXX:01EB    OR    AX,AX  <--- Is the AX register = 0?
  149.          XXXX:01ED    JNZ   1F2    <--- No. then jump to 1F2
  150.          XXXX:01EF    CALL  225    <--- This is DEATH!
  151.          XXXX:01F2    CALL  21C    <--- Call if its CRACKED!
  152.  
  153. Now look at line 1E8 (call 1F7). This call Ask for the password and returns
  154. AX=0000 if its wrong, and AX=0001 if its correct. Well, our goal is to get
  155. to line 1F2 (call 21c)! Well, couldn't we just NOP line 1e8 thru 1Ef? Sure
  156. we can! Now thats what we gotta do. So write down the bytes around and on
  157. this area. Use Norton Utilites to search for these bytes and replace them
  158. with NOP's which is a HEX value of 90. Save your changes and run DOC1.COM.
  159. The program should just say.. GAME is CRACKEd. or somthing like that.
  160. Yip, just one line of Text.
  161.  
  162. Ok, yea! we have cracked this simple doc check program 3 differnt wayz and
  163. 3 differnt times. Seems pretty easy eh? Well there are some problems. What
  164. if you didnt have a Correct password to trace thru? Well this is somthing
  165. only experience could teach. You must experiment with the jumps. If there
  166. seems to be a compare involved, usually the AX register is changed, and a
  167. conditional jump instuction follows, force the jump and see what happens.
  168. If it still eats shit, then dont force it and see what happens. If it still
  169. eats it, then keep following the path until another conditional jump
  170. is reached and do the same.
  171.  
  172. Some INT 13's are similar to the Doc checks i explained above. Look at line
  173. 1e8 (call 1f7). This subroutine asks for the password and reutns the
  174. appropriate code. Now what if the Disk drive light lit up when this
  175. call is executed? If the DISK Protection was found, AX=0001. if its not
  176. found AX=0000. See its sorta the same.
  177.  
  178. Oh, now what if the Doc Check is later on in the game. Like Questron II,
  179. Larry Bird One on One, and Demon Stalker. Well, Load up your debugger with
  180. the intro exe file. Then Press "g" for go and run the program while your
  181. debugger is in the background. when the program asks for the Password,
  182. just type "SHIT" and presss CTRL-BRK! The Debugger should regain control
  183. and will show you where the current line is at. Trace thru at that point
  184. and look for them conditional jumps and Comparisons.
  185.  
  186. Well that wraps it up for this lesson. Any questions? well call ...
  187.  
  188. THE ROACH MOTEL
  189. 818-369-2083
  190. 12/24/and 9600! USR HST!
  191. 100+ Megz
  192. Sysop : Black Flag
  193. Co's  : Megaton Man (me)
  194.         Eternal Warrior
  195.         Lone Wolf
  196.  
  197. Ask for Megaton Man.
  198.  
  199. END. Line 199.